package org.proddevplm.dao.api;

import java.util.List;

import org.proddevplm.dao.data.Project;
import org.proddevplm.dao.data.RelationMatrix;
import org.proddevplm.dao.data.Roles;
import org.proddevplm.dao.data.User;

public interface IProjectMgmt {
	
	boolean addProject(Project project, User user, Roles role);
	
	boolean editProject(int projectID, Project project, User user, Roles role);
	
	boolean deleteProject(int projectID, Project project);
	
	List<Project> getProjectByUserId(int userId);
	
	List<RelationMatrix> getRelMatrixByProjectId(int projectId);
	
	List<RelationMatrix> getRelMatrixByUserId(int userId);
	
	Project getProjectByProjectId(int projectId);
	
	boolean deleteRelMatrixByProjectId(int projectId);
	
	RelationMatrix getRelMatrixByProjUserRole(int projectId, int userId, int roleId);
	
	boolean changeRelMatrixByRole(RelationMatrix relMatrix, Roles role);
	
}
